package com.swanclouds.api.updates;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.ActionResponse;
import com.swanclouds.model.common.Payload;
import com.swanclouds.model.common.redfish.CollectionResource;
import com.swanclouds.model.updates.FirmwareInventory;
import com.swanclouds.redfish.updates.domin.FirmwareInventoryModel;

import java.util.List;

/**
 * Author:      HuangFuYuHui
 * Title:       FirmwareInventoryService
 * Description: 查询服务器当前可升级的固件集合资源的信息服务
 * Date:        2022/7/27 17:41
 */
public interface FirmwareInventoryService extends RestService {

    /**
     * 查询可升级固件集合资源信息
     * @return  com.swanclouds.model.common.redfish.CollectionResource
     **/
    CollectionResource get();

    /**
     * 查询服务器指定的可升级固件资源的信息。
     * @param  firmwareInventoryId 可升级固件资源Id
     * @return  com.swanclouds.model.updates.FirmwareInventory
     **/
    FirmwareInventory getFirmwareInventory(String firmwareInventoryId);

    /**
     * 查询服务器当前可升级的固件集合资源的信息。
     * @return  java.util.List
     **/
    List<FirmwareInventoryModel> getFirmwareInventoryList();

    /**
     * 文件上传
     * @param  payload 上传文件
     * @return  com.swanclouds.model.common.ActionResponse
     **/
    ActionResponse uploadFile(Payload payload);

    
}
